It has become increasingly commonplace to use grids of multiple node devices to perform widely varied analyses of large data sets (e.g., what is commonly referred to as “big data”) of widely varied types. Such grids of node devices are often used to speed the performance of an analysis of a large data set by independently processing multiple partitions of the data set in parallel through the parallel execution of identical analysis routines. Over time, just as such data sets have increased in size, the quantity and range of capabilities of the node devices in grids of node devices have also increased. By way of example, it has become commonplace for the node devices of a grid to each be capable of multi-threaded execution of analysis routines.
To take advantage of such increased processing capabilities, it has become desirable to sweep together numerous older and simpler analyses to become components of newer and more complex analyses. Unfortunately, the manner in which many of such older analyses were implemented in software adhered to older programming practices that often render such software incapable of being executable as multiple instances across multiple threads, so as to not be “thread-safe” in the multi-threaded execution environments that have no become commonplace among node devices.
Such limitations of such software could be accommodated through the imposition of restrictions on the manner in which such software is executed within each node device of a grid. However, such restrictions would result in the wastage of considerable processing resources as it may be that only single-threaded execution is possible within each node device during each occasion on which such software is executed. Alternatively, such software could be rewritten to adhere to newer programming practices that would result in such rewritten software being threadsafe. However, budgetary constraints, legal requirements to recertify software that has been rewritten, and/or other factors may make such rewriting prohibitively difficult and/or expensive.